package myListener;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JCheckBox;
import javax.swing.JTextField;

import myWindows.JMyVentana;

public class JTestWindowListener extends JMyVentana {
    public JTestWindowListener() {
        InitGUI();
    }
    
    private JTextField CampoTexto;
    private JCheckBox negrita, cursiva;
    
    public void InitGUI(){
        
        //FlowLayout
        this.getContentPane().setLayout(new FlowLayout());
        
        CampoTexto = new JTextField("Observe como cambia el estilo del tipo de Letra", 30);
        CampoTexto.setFont(new Font("Serif", Font.PLAIN, 14));
        this.getContentPane().add(CampoTexto);
        
        negrita = new JCheckBox("negrita");
        cursiva = new JCheckBox("cursiva");
        this.getContentPane().add(negrita);
        add(cursiva);
        
        MyOyente objOyente = new MyOyente();
        negrita.addItemListener(objOyente);
        cursiva.addItemListener(objOyente);
        
        this.setSize(350, 100);
        
    }
    
    public class MyOyente implements ItemListener{

        public void itemStateChanged(ItemEvent e) {
            int valCursiva = Font.PLAIN;
            int valNegrita = Font.PLAIN;
            
            if (e.getSource() == negrita)
                valNegrita = negrita.isSelected() ? Font.BOLD : Font.PLAIN;
                
            if (e.getSource() == cursiva)
                valCursiva = cursiva.isSelected() ? Font.ITALIC : Font.PLAIN;    
            
            CampoTexto.setFont(new Font("Serif", valNegrita + valCursiva, 14));
        }
    }

    public static void main(String[] args) {
        JTestWindowListener obj = new JTestWindowListener();
        obj.setVisible(true);
    }
}
